package com.guoheng.hazard.sys.service.hazard;

import com.guoheng.hazard.common.base.Result;
import com.guoheng.hazard.sys.model.dto.hazard.MonitorSensorInsertDTO;
import com.guoheng.hazard.sys.model.dto.hazard.MonitorSensorUpdateDTO;

/**
 * 类功能描述:　MonitorSensorService
 *
 * @author Eternal
 * @date 2019-11-20 17:02
 */
public interface MonitorSensorService {

    /**
     * 方法功能描述: 查询传感器信息列表
     *
     * @param entprId  企业id
     * @param entprName  企业名称
     * @param cameraNo  传感器编号
     * @param pageNum  页码
     * @param pageSize 页面尺寸
     * @return Result
     */
    Result getMonitorSensors(Long entprId, String entprName, String cameraNo, Integer pageNum, Integer pageSize);

    /**
     * 方法功能描述: 修改传感器信息
     *
     * @param majorMonitorSensorUpdateDTO 传感器更新信息
     * @return Result
     */
    Result updateMonitorSensor(MonitorSensorUpdateDTO majorMonitorSensorUpdateDTO);

    /**
     * 方法功能描述: 新增传感器信息
     *
     * @param majorMonitorSensorInsertDTO 传感器新增信息
     * @return Result
     */
    Result insertMonitorSensor(MonitorSensorInsertDTO majorMonitorSensorInsertDTO);

    /**
     * 方法功能描述: 删除传感器信息
     *
     * @param id 主键
     * @return Result
     */
    Result deleteMonitorSensor(Long id);

    /**
     * 方法功能描述: 查询传感器信息
     *
     * @param id 主键
     * @return Result
     */
    Result getMonitorSensor(Long id);

     /**
      * 方法功能描述:  传感器数据(使用influxDB数据库)
      *
      * @param  entprId 企业id
      * @param  sensorNo 传感器编号
      * @param  beginTime 数据开始时间
      * @param  endTime 数据结束时间
      * @return
      */
    Result sensorData(Long entprId, String sensorNo, Long beginTime, Long endTime,Integer pageNum,Integer pageSize);

}
